package doing.doing_501_1000;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 1013. Pairs of Songs With Total Durations Divisible by 60
 * <p>
 * 在歌曲列表中，第 i 首歌曲的持续时间为 time[i] 秒。
 * 返回其总持续时间（以秒为单位）可被 60 整除的歌曲对的数量。形式上，
 * 我们希望索引的数字  i < j 且有 (time[i] + time[j]) % 60 == 0。
 * <p>
 * 示例 1：
 * 输入：[30,20,150,100,40]
 * 输出：3
 * 解释：这三对的总持续时间可被 60 整数：
 * <p>
 * (time[0] = 30, time[2] = 150): 总持续时间 180
 * (time[1] = 20, time[3] = 100): 总持续时间 120
 * (time[1] = 20, time[4] =  40): 总持续时间  60
 * 2019-03-27 11:10 PM
 **/
@Slf4j
public class PairsOfSongsWithTotalDurationsDivisibleBy60 {

    @SuppressWarnings("all")
    public int numPairsDivisibleBy60(int[] time) {
        // TODO
        return 1;
    }

    @Test
    public void test() {
        int[] nums = new int[]{30, 20, 150, 100, 40};
        log.info("result:{}", numPairsDivisibleBy60(nums));
    }
}






























/*
public int numPairsDivisibleBy60(int[] time) {
    int count=0;
    Map<Integer,Integer> map = new HashMap<>();
    for (int i=0; i<time.length; i++) {
        time[i]%=60;
        map.putIfAbsent(time[i],0);
        map.put(time[i],map.get(time[i])+1);
    }

    for (Integer i : map.keySet()) {
        if (i == 0 || i == 30) {
            count += map.get(i) * (map.get(i) - 1);
            map.put(i, 0);
        } else if (map.containsKey(60-i)) {
            count += map.get(i) * map.get(60-i);
        }
    }
    return count / 2;
}
*/
